package com.rahms.common.result;

import java.util.HashMap;
import java.util.Map;

/**
 * 全局统一返回结果类
 */
public class R<T> {
    
    private Integer code; // 编码：1成功，0和其它数字为失败
    
    private String msg; // 错误信息
    
    private T data; // 数据
    
    private Map<String, Object> map = new HashMap<>(); // 动态数据
    
    public static <T> R<T> success(T object) {
        R<T> r = new R<T>();
        r.data = object;
        r.code = 1;
        return r;
    }
    
    public static <T> R<T> error(String msg) {
        R r = new R();
        r.msg = msg;
        r.code = 0;
        return r;
    }
    
    public R<T> add(String key, Object value) {
        this.map.put(key, value);
        return this;
    }
    
    public Integer getCode() {
        return code;
    }
    
    public void setCode(Integer code) {
        this.code = code;
    }
    
    public String getMsg() {
        return msg;
    }
    
    public void setMsg(String msg) {
        this.msg = msg;
    }
    
    public T getData() {
        return data;
    }
    
    public void setData(T data) {
        this.data = data;
    }
    
    public Map<String, Object> getMap() {
        return map;
    }
    
    public void setMap(Map<String, Object> map) {
        this.map = map;
    }
}